//============================================================================
/**
 *
 *	@file		break_comm.h
 *	@brief		ポケスロン競技 かわらわり 通信データ定義
 *	@author		hosaka genya
 *	@data		2008.11.19
 *
 */
//============================================================================
#pragma once

#include "../../pokethlon.h"
#include "../pkthln_event_comm_common.h"

enum
{
	COMM_POKE_MAX = ENTRY_MEMBER_NUM_MAX - 1,	///< 自分以外のポケモンの数
};

//--------------------------------------------------------------
///	子機→親機
//==============================================================
typedef struct BREAK_CHILD_DATA_tag {
	// -- 4 byte --
	u32	BreakCount : 8;		///< 1 byte
	u32	Stamina : 8;		///< 1 byte
	u32 Tension : 8;		///< 1 byte
	u32 PokeIdx : 2;
	u32 bHighTension : 1;
	u32 bCritical : 1;
	u32 bChange : 1;
	u32 DummyBit : 3;

	u8	Dummy[32];
} BREAK_CHILD_DATA; ///< 計36バイト

//--------------------------------------------------------------
///	通信用チームデータ
//==============================================================
typedef struct BREAK_COMM_POKE_PARAM_tag {
	u32 BreakCount : 8;
	u32 Stamina : 8;
	u32 Tension : 8;
	u32 PokeIdx : 2;
	u32 bHighTension : 1;
	u32 bChange : 1;
	u32 bCritical : 1;
	u32 DummyBit : 3;
} BREAK_COMM_POKE_PARAM; ///< 計4バイト

//--------------------------------------------------------------
///	親機→子機
//==============================================================
typedef struct BREAK_PARENT_DATA_tag {
	// 4 * 4 = 16 byte
	BREAK_COMM_POKE_PARAM cpp[4];

	// 4 byte
	u32 Timer : 16;
	u32 bGameEnd : 1;
	u32 DummyBit : 15;
	u8	Dummy[16];
} BREAK_PARENT_DATA; ///< 計36バイト

